home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / CPlusPlus / Translt.xh < prev    next >
Encoding:
Text File  |  1997-02-13  |  7.0 KB  |  280 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Translt.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxh.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODTranslation_xh
  18. #define SOM_ODTranslation_xh
  19.  
  20. class ODTranslation;
  21.  
  22. #define ODTranslation_MajorVersion 1
  23. #define ODTranslation_MinorVersion 0
  24.  
  25. /* C++ SOM defs */
  26. #include <somcls.xh>
  27. #include <somcm.xh>
  28.  
  29. /* C++ parent defs */
  30. #ifndef SOM_ODObject_xh
  31. #include <ODObject.xh>
  32. #endif
  33.  
  34. #ifndef ODTranslation_API
  35. #define ODTranslation_API
  36. /*
  37.  * -- The Class API
  38.  */
  39.  
  40. /*
  41.  * Start of user-defined types:
  42.  */
  43. class SOMClass;
  44. class SOMObject;
  45. class ODFrame;
  46. class ODFacet;
  47. class ODObject;
  48. class ODExtension;
  49. class ODTranslation;
  50. class ODTypeList;
  51. class ODStorageUnitView;
  52. class ODSession;
  53.  
  54. /*
  55.  * End of user-defined types.
  56.  */
  57.  
  58. #ifdef OLDIBMSOMAPISUPPORT
  59. #define ODTranslationCClassData ODTranslationClassData
  60. #define ODTranslationNewClass(major,minor) somNewVersionedClassReference(ODTranslation,major,minor)
  61. #endif
  62.  
  63. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  64. #define ODTranslationMetaClass SOMClass
  65.  
  66. #if PRAGMA_ALIGN_SUPPORTED
  67. #  pragma options align=power
  68. #endif
  69.  
  70. /* The API to the ODTranslation class object, and the methods it introduces. */
  71. SOMEXTERN struct ODTranslationClassDataStructure {
  72. #ifdef OLDIBMSOMAPISUPPORT
  73.     SOMClass            *classObject;    /* always zero, use somNewClassReference instead */
  74. #else
  75.     long zero;
  76. #endif
  77.     somStaticClassInfo *sci;
  78.     somDToken        instanceDataToken;
  79.     long reserved [3];
  80.     somMToken CanTranslate;
  81.     somMToken GetTranslationOf;
  82.     somMToken TranslateView;
  83.     somMToken Translate;
  84.     somMToken GetISOTypeFromPlatformType;
  85.     somMToken GetPlatformTypeFromISOType;
  86.     somMToken reserved1;
  87.     somMToken reserved2;
  88.     somMToken reserved3;
  89. } SOMDLINK ODTranslationClassData;
  90.  
  91. #if PRAGMA_ALIGN_SUPPORTED
  92. #  pragma options align=reset
  93. #endif
  94.  
  95. #if !defined(ODTranslation_Class_Source) && !defined(SOM_Module_translt_Source)
  96. #if PRAGMA_IMPORT_SUPPORTED
  97. #pragma import list ODTranslationClassData
  98. #endif
  99. #endif
  100.  
  101.  
  102. /*
  103.  * -- Typedefs and inline method declarations for left path inherited methods
  104.  * -- are omitted because this compilation had -museinheritedmethods in effect
  105.  */
  106.  
  107.  
  108. /*
  109.  * -- Typedefs for ODTranslation Method Procedures
  110.  */
  111. SOMEXTERN {
  112. typedef ODTranslateResult   (* SOMLINK somTD_ODTranslation_CanTranslate)(ODTranslation *somSelf, Environment *ev,
  113.         ODValueType fromType);
  114. typedef ODTypeList*   (* SOMLINK somTD_ODTranslation_GetTranslationOf)(ODTranslation *somSelf, Environment *ev,
  115.         ODValueType fromType);
  116. typedef ODTranslateResult   (* SOMLINK somTD_ODTranslation_TranslateView)(ODTranslation *somSelf, Environment *ev,
  117.         ODStorageUnitView* fromView,
  118.         ODStorageUnitView* toView);
  119. typedef ODTranslateResult   (* SOMLINK somTD_ODTranslation_Translate)(ODTranslation *somSelf, Environment *ev,
  120.         ODValueType fromType,
  121.         ODByteArray* fromData,
  122.         ODValueType toType,
  123.         ODByteArray* toData);
  124. typedef ODValueType   (* SOMLINK somTD_ODTranslation_GetISOTypeFromPlatformType)(ODTranslation *somSelf, Environment *ev,
  125.         ODPlatformType platformType,
  126.         ODPlatformTypeSpace typeSpace);
  127. typedef ODPlatformType   (* SOMLINK somTD_ODTranslation_GetPlatformTypeFromISOType)(ODTranslation *somSelf, Environment *ev,
  128.         ODValueType type);
  129. }
  130.  
  131. #endif /* ODTranslation_API */
  132.  
  133.  
  134. /*
  135.  * -- This emitter treats Method Tokens as Thunks by default.
  136.  * -- Use the sc modifier "nothunks" to change this default
  137.  */
  138. #undef somresolve_
  139. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  140.  
  141. /*
  142.  * -- The C++ Wrapper Class for ODTranslation
  143.  */
  144. class ODTranslation : public ODObject
  145. {
  146. public:
  147.  
  148. // ODTranslation::new registers use of the class object, and then uses somNew
  149. // to allocate memory and load the object method table pointer. 
  150. void *operator new(size_t size)
  151. {
  152.     SOM_IgnoreWarning(size);
  153.     // Allocate memory using the default allocator for ODTranslation, and
  154.     // clear mem & set method table pointer, call basic initialization
  155. #ifdef SOMCHKNULL
  156.     void * __somResult = (void *)
  157.       somNewObject(ODTranslation);
  158.     SOMCHKNULL(__somResult);
  159.     return __somResult;
  160. #else
  161.     return (void*) somNewObject(ODTranslation);
  162. #endif
  163. }
  164.  
  165. // ODTranslation::delete uses the default deallocator for the object's class.
  166. void operator delete(void * obj)
  167. {
  168.     if (obj) {
  169.         SOM_Resolve(obj,SOMObject,somFree)
  170.            ( (SOMObject*) obj );
  171.     }
  172. }
  173.  
  174. /* method: CanTranslate */
  175. ODTranslateResult   CanTranslate(Environment *ev,
  176.         ODValueType fromType)
  177. {
  178.    #ifdef SOMCHKEXCEPT
  179.    ODTranslateResult __somResult = 
  180.       SOM_ResolveD(this,ODTranslation,ODTranslation,CanTranslate)
  181.     (this,ev,fromType);
  182.       SOMCHKEXCEPT;
  183.    return __somResult;
  184. #else
  185.    return SOM_ResolveD(this,ODTranslation,ODTranslation,CanTranslate)
  186.     (this,ev,fromType);
  187. #endif
  188. }
  189.  
  190. /* method: GetTranslationOf */
  191. ODTypeList*   GetTranslationOf(Environment *ev,
  192.         ODValueType fromType)
  193. {
  194.    #ifdef SOMCHKEXCEPT
  195.    ODTypeList* __somResult = 
  196.       SOM_ResolveD(this,ODTranslation,ODTranslation,GetTranslationOf)
  197.     (this,ev,fromType);
  198.       SOMCHKEXCEPT;
  199.    return __somResult;
  200. #else
  201.    return SOM_ResolveD(this,ODTranslation,ODTranslation,GetTranslationOf)
  202.     (this,ev,fromType);
  203. #endif
  204. }
  205.  
  206. /* method: TranslateView */
  207. ODTranslateResult   TranslateView(Environment *ev,
  208.         ODStorageUnitView* fromView,
  209.         ODStorageUnitView* toView)
  210. {
  211.    #ifdef SOMCHKEXCEPT
  212.    ODTranslateResult __somResult = 
  213.       SOM_ResolveD(this,ODTranslation,ODTranslation,TranslateView)
  214.     (this,ev,fromView,toView);
  215.       SOMCHKEXCEPT;
  216.    return __somResult;
  217. #else
  218.    return SOM_ResolveD(this,ODTranslation,ODTranslation,TranslateView)
  219.     (this,ev,fromView,toView);
  220. #endif
  221. }
  222.  
  223. /* method: Translate */
  224. ODTranslateResult   Translate(Environment *ev,
  225.         ODValueType fromType,
  226.         ODByteArray* fromData,
  227.         ODValueType toType,
  228.         ODByteArray* toData)
  229. {
  230.    #ifdef SOMCHKEXCEPT
  231.    ODTranslateResult __somResult = 
  232.       SOM_ResolveD(this,ODTranslation,ODTranslation,Translate)
  233.     (this,ev,fromType,fromData,toType,toData);
  234.       SOMCHKEXCEPT;
  235.    return __somResult;
  236. #else
  237.    return SOM_ResolveD(this,ODTranslation,ODTranslation,Translate)
  238.     (this,ev,fromType,fromData,toType,toData);
  239. #endif
  240. }
  241.  
  242. /* method: GetISOTypeFromPlatformType */
  243. ODValueType   GetISOTypeFromPlatformType(Environment *ev,
  244.         ODPlatformType platformType,
  245.         ODPlatformTypeSpace typeSpace)
  246. {
  247.    #ifdef SOMCHKEXCEPT
  248.    ODValueType __somResult = 
  249.       SOM_ResolveD(this,ODTranslation,ODTranslation,GetISOTypeFromPlatformType)
  250.     (this,ev,platformType,typeSpace);
  251.       SOMCHKEXCEPT;
  252.    return __somResult;
  253. #else
  254.    return SOM_ResolveD(this,ODTranslation,ODTranslation,GetISOTypeFromPlatformType)
  255.     (this,ev,platformType,typeSpace);
  256. #endif
  257. }
  258.  
  259. /* method: GetPlatformTypeFromISOType */
  260. ODPlatformType   GetPlatformTypeFromISOType(Environment *ev,
  261.         ODValueType type)
  262. {
  263.    #ifdef SOMCHKEXCEPT
  264.    ODPlatformType __somResult = 
  265.       SOM_ResolveD(this,ODTranslation,ODTranslation,GetPlatformTypeFromISOType)
  266.     (this,ev,type);
  267.       SOMCHKEXCEPT;
  268.    return __somResult;
  269. #else
  270.    return SOM_ResolveD(this,ODTranslation,ODTranslation,GetPlatformTypeFromISOType)
  271.     (this,ev,type);
  272. #endif
  273. }
  274.  
  275. };   /* ODTranslation */
  276.  
  277.  
  278.  
  279. #endif       /* SOM_ODTranslation_xh */
  280.